using System.Web.Mvc;
using ExtendedMvc.Elements;

namespace ExtendedMvc {
	public static class HtmlPartialExtensions {

		public static Partial<T> Partial<T>(this ModelViewHtmlHelper<T> html, string viewName, T model = null, ViewDataDictionary viewData = null) where T : class {
			return new Partial<T>(html, viewName, model, viewData);
		}

		public static ActionPartial<T> ActionPartial<T>(this ModelViewHtmlHelper<T> html, string actionName, string controllerName = null, object routeValues = null) where T : class {
			return new ActionPartial<T>(html, actionName, controllerName, routeValues);
		}

		public static RoutePartial<T> RoutePartial<T>(this ModelViewHtmlHelper<T> html, string routeName, string protocol = null, string hostName = null, object routeValues = null) where T : class {
			return new RoutePartial<T>(html, routeName, protocol, hostName, routeValues);
		}
	}
}
